package com.tjf.lib_update.upload


import android.app.Activity
import android.content.Context
import com.tjf.lib_core.upload.UpdateDialog

/**
 * 需要一个网络请求接口查询是否要更新
 */
open class CheckUpdateTask(a: Activity) {

    private var mContext: Activity = a
    fun post(listener: OnUpLoadListener?) {
        // 隐藏软键盘
        listener?.onStart()
//        EasyHttp.post(mContext).api(VersionApi().setVersion(AppConfig.getVersionName()))
//            .request(object : OnHttpListener<HttpData<Version>?> {
//                override fun onSucceed(result: HttpData<Version>?) {
//                    result?.let {
//                        result?.data?.apply {
//                            when (is_update) {
//                                0 -> {
//
//                                }
//                                1 -> {//0无需更新1需要更新 2强制更新
//                                    showDialog(mContext, version, content, url ?: "")
//                                }
//                                2 -> {
//                                    showDialog(mContext, version, content, url ?: "", true)
//                                }
//                            }
//                            listener?.onSucceed(is_update,it.message)
//                        }
//                    }
//                }
//                override fun onFail(e: Exception) {
//                    listener?.onFail(e)
//                }
//            })

    }

    companion object {
        fun showDialog(
                context: Context,
                versionName: String = "1.0",
                content: String = "",
                url: String,
                isMust: Boolean = false) {
            UpdateDialog.Builder(context)
                    .setVersionName(versionName)
                    .setUpLoadContent(content)
                    .setUrl(url)
                    .isMust(isMust)
                    .show()
        }
    }


    interface OnUpLoadListener {
        /**
         * 请求开始
         */
        fun onStart()

        /**
         * 失败
         */
        fun onFail(e: Exception)

        /**
         * 成功
         */
        fun onSucceed(is_type: Int, msg: String)
    }
}